package net.sahv.bdyz.service;

import java.util.List;
import java.util.Map;

import org.apache.shiro.SecurityUtils;
import org.apache.shiro.subject.Subject;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import net.sahv.bdyz.mapper.AdminMapper;
import net.sahv.bdyz.mapper.AdminUserRolesMapper;
import net.sahv.bdyz.model.Admin;

@Service
public class AdminService {
	
	@Autowired
	private AdminMapper adminMapper;
	 
	@Autowired
	private AdminUserRolesMapper adminuserrolesmapper;
	
	public int deleteByPrimaryKey(Integer id){
		return adminMapper.deleteByPrimaryKey(id);
	}
	
	public int updateByPrimaryKey(Admin record){
		int n=adminMapper.updateByPrimaryKey(record);
		return n;
	}
	
	public Admin selectByPrimaryKey(int id){
		return adminMapper.selectByPrimaryKey(id);
	}
	
	public int insert(Admin record){
		return adminMapper.insert(record);
	}
	
	/**
	 * 管理员列表
	 * @author 张天敏
	 * @see 2016年7月5日 17:56:18
	 * @param param
	 * @return
	 */
	public List<Map<String, Object>> adminList(Map<String, Object> param) {
		return adminMapper.adminList(param);
	}

	/**
	 * 管理员列表统计
	 * @author 张天敏
	 * @see 2016年7月5日 17:56:48
	 * @param where
	 * @return
	 */
	public Integer adminListCount(String where) {
		return adminMapper.adminListCount(where);
	}

	/**
	 * 根据用户名查询后台用户
	 * @author 张天敏
	 * @date 日期：2016年8月5日 时间：下午5:45:51
	 * @param username
	 * @return
	 */
	public Admin findByname(String username) {
		return adminMapper.findByname(username);
	}
	
	public List<Admin> selectAll(){
		return adminMapper.selectAll();
	}

	/**
	 * 验证登陆账号是否已存在
	 * @author 张天敏
	 * @param aUsername 
	 * @date 日期：2016年8月9日 时间：上午11:40:09
	 * @return
	 */
	public int validAUsername(String aUsername) {
		return adminMapper.validAUsername(aUsername);
	}

	/**
	 * 查询所有的业务员
	 * @author 张天敏
	 * @date 日期：2016年8月16日 时间：上午9:23:25
	 * @return
	 */
	public List<Map<String, Object>> selectAllSalesman() {
		return adminMapper.selectAllSalesman();
	}

	/**
	 * 
	 * @author 作者 : 任凯伟
	 * @date 创建时间：2016年8月25日 上午11:20:21
	 * @version 1.0
	 * @see 获取当前登录管理员信息
	 * @param
	 * @parameter
	 * @since
	 * @return
	 */
	public Admin getCurrent() {
		Subject currentUser = SecurityUtils.getSubject();
		Admin ad = (Admin) currentUser.getSession().getAttribute("currentUser");// 登录管理员
		return ad;
	}
}
